package com.fau.ss.service;

import java.util.List;
import java.util.Map;

import com.fau.ss.entity.MedicalAdmin;
import com.fau.ss.entity.MedicalSsPurchase;
import com.fau.ss.util.Page;

/**
 * @desc 消费习惯统计接口
 * @author dangjh
 * @datetime 2014年11月11日,上午10:19:11
 */
public interface IBuyFrequencyStaService {
	
	/**
	 * @desc 消费习惯统计基本统计列表
	 * @param purchase
	 * @param admin
	 * @param map
	 * @return Page
	 * @author dangjh
	 * @datetime 2014年11月11日,上午10:19:52
	 */
	public Page findHabitsByPage(Map<String, Object> map, MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计药品类别统计列表
	 * @param map
	 * @param purchase
	 * @param admin
	 * @return Page
	 * @author dangjh
	 * @datetime 2014年11月13日,下午2:47:39
	 */
	public Page findHabitsMedicineByPage(Map<String, Object> map, MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计年龄段统计
	 * @return List<String>
	 * @author dangjh
	 * @datetime 2014年11月11日,下午2:41:03
	 */
	public List<String> countByAge(MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计按年份统计(柱状图)
	 * @param admin
	 * @return List<String>
	 * @author dangjh
	 * @datetime 2014年11月11日,下午5:39:31
	 */
	public List<String> countByYear(MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计按月份统计
	 * @param admin
	 * @return List<String>
	 * @author dangjh
	 * @datetime 2014年11月11日,下午9:04:30
	 */
	public List<String> countByMonth(MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计按会员等级统计
	 * @param admin
	 * @return Map<String, Object>
	 * @author dangjh
	 * @datetime 2014年11月12日,下午2:50:00
	 */
	public Map<String, Object> countByLevel(MedicalSsPurchase purchase, MedicalAdmin admin);
	
	/**
	 * @desc 消费习惯统计按宣传地区统计
	 * @param admin
	 * @return Map<String, Object>
	 * @author dangjh
	 * @datetime 2014年11月12日,下午2:54:41
	 */
	public Map<String, Object> countByArea(MedicalSsPurchase purchase, MedicalAdmin admin);
	
}
